export interface IPlayer {
  id: number
  nickname: string
  rid: number
}

export interface IRoom {
  id: number
  players: IPlayer[]
}

export interface IApiPlayerJoinReq {
  nickname: string
}

export interface IApiPlayerJoinRes {
  player: IPlayer
}

export type IApiPlayerListReq = Record<string, never>

export interface IApiPlayerListRes {
  list: IPlayer[]
}

export type IApiRoomCreateReq = Record<string, never>

export interface IApiRoomCreateRes {
  room: IRoom
}

export type IApiRoomListReq = Record<string, never>

export interface IApiRoomListRes {
  list: IRoom[]
}

export type IApiRoomJoinReq = {
  rid: number
}

export type IApiRoomJoinRes = {
  room: IRoom
}

export type IApiRoomLeaveReq = Record<string, never>

export type IApiRoomLeaveRes = Record<string, never>

export type IApiGameStartReq = Record<string, never>

export type IApiGameStartRes = Record<string, never>
